iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
0
自我挑戰組

後端工程師自我練習,使用Node.js來做後端server系列 第 3

[Day-3] Node.js 入門[基本套件模組輸出]

  • 分享至 

  • xImage
  •  

[ Day3 ]

說明:
在昨天我們可以引入js模組在程式中使用
相反的,我們可以將自己的javascrit檔案輸出給其他程式作使用:

一、基本module.exports

function fibonacci(input) {
  var first = 0
  var second = 1
  if(input == 0) {
    return first
  }
  for(var i = 0; i < input-1 ; i++) {
    var temp = first + second
    first = second
    second = temp
  }
  return second
}

module.exports = fibonacci

這裡我們新增一個cal.js檔案,裡面定義一個方法對參數作費波那契數列計算
在檔案的最後,使用module.exports 將指定方法輸出

在index.js中

import fobo from './cal.js'

console.log(fobo(100))

將我們剛才的fibonacci方法,引入cal.js並宣告成fobo變數,傳入參數就可以得到答案

如果要將模組輸出多個方法

function divivde(a, b) {
  return a/b
}

module.exports = { 
  fibonacci, divivde
}

多個方法以花括號框選,變成整個檔案輸出

並且在引入時

import cal from './cal.js'

console.log(cal.fibonacci(100))
console.log(cal.divivde(19,2))

引入的變數變成需指定方法名稱
https://ithelp.ithome.com.tw/upload/images/20200916/20110911aXiEWUfHx4.png

二、es6方法的export
而使用es6的寫法,則直接在方法名稱前加上export
表示這個方法須輸出

export function fibonacci(input) {
  var first = 0
  var second = 1
  if(input == 0) {
    return first
  }
  for(var i = 0; i < input-1 ; i++) {
    var temp = first + second
    first = second
    second = temp
  }
  return second
}

export function divivde(a, b) {
  return a/b
}

在index.js中,則直接以花括號方式指定需引入方法名稱

import { fibonacci, divivde } from './cal.js'

console.log(fibonacci(100))
console.log(divivde(19,2))

https://ithelp.ithome.com.tw/upload/images/20200916/20110911OrLNIyhBqP.png

三、方法輸出、參數輸出
如果需要將模組內的變數輸出,一樣將variable指定到exports中

var descript  = 'this is a module variable'

function fibonacci(input) {
  var first = 0
  var second = 1
  if(input == 0) {
    return first
  }
  for(var i = 0; i < input-1 ; i++) {
    var temp = first + second
    first = second
    second = temp
  }
  return second
}

function divivde(a, b) {
  return a/b
}

module.exports = {
  descript,
  fibonacci,
  divivde
}
import cal from './cal.js'

console.log(cal.descript)
console.log(cal.fibonacci(5))
console.log(cal.divivde(19,2))

es6

export var descript  = 'this is a module variable'

export function fibonacci(input) {
  var first = 0
  var second = 1
  if(input == 0) {
    return first
  }
  for(var i = 0; i < input-1 ; i++) {
    var temp = first + second
    first = second
    second = temp
  }
  return second
}

export function divivde(a, b) {
  return a/b
}

Day3結束


上一篇
[Day-2] Node.js 入門[基本套件引入]
下一篇
[Day-4] Node.js [使用http建立CRUD rest api]
系列文
後端工程師自我練習,使用Node.js來做後端server30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言